package com.qfedu.food.util;

import java.io.File;

/**
 * @program: StartCoding
 * @description:
 * @author: Feri(邢朋辉)
 * @create: 2021-01-05 17:48
 */
public class FileUtil {
    /**
     * 自动生成的源码的跟路径*/
    public static final String CODE_DIR="startcodinggen";
    /**
     * 进行生成的分层的目录名称*/
    public static final String[] CODE_PACKAGE={"entity","dao","mapper","vo","service/intf","service/impl","controller","config"};
    /**
     * 把包转换为路径
     * @param pkname 要转换的包名
     */
    public static String createDir(String pkname){
        File rootDir=new File(CODE_DIR+"/"+pkname.replaceAll("\\.","/"));
        if(!rootDir.exists()){
            rootDir.mkdirs();
        }
        //根据分层创建对应的文件夹
        for(String s:CODE_PACKAGE){
            File child=new File(rootDir,s);
            if(!child.exists()){
                child.mkdirs();
            }
        }
        return rootDir.getPath();
    }
    /**
     * 文件名的截取和重命名
     * @param file 要处理的文件名*/
    public static String renameFile(String file){
        if(file!=null && file.length()>0){
            if(file.length()>50){
                file=file.substring(file.length()-50);
            }
            return System.currentTimeMillis()+"_"+file;
        }
        return null;
    }
    /**
     * 递归删除文件夹
     * @param file 要删除的对象*/
    public static void delDir(File file) {
        if (file.isDirectory()) {
            File zFiles[] = file.listFiles();
            if(zFiles!=null && zFiles.length>0) {
                for (File file2 : zFiles) {
                    delDir(file2);
                }
            }
            file.delete();
        } else {
            file.delete();
        }
    }
    /**
     * 递归删除文件夹
     * @param filePath 要删除的路径*/
    public static void delDir(String filePath) {
        File file=new File(filePath);
        if (file.isDirectory()) {
            File zFiles[] = file.listFiles();
            if(zFiles!=null && zFiles.length>0) {
                for (File file2 : zFiles) {
                    delDir(file2);
                }
            }
            file.delete();
        } else {
            file.delete();
        }
    }
}
